Crate gcloud_sdk

source ·
Expand description

Google Cloud SDK for Rust

Library provides all available APIs generated based:

  • on proto interfaces for gRPC;
  • OpenAPI spec for REST APIs not available as gRPC;

The library also provides and easy-to-use client API for both gRPC and REST, that supports Google Authentication natively.

gRPC example


    let firestore_client: GoogleApi<FirestoreClient<GoogleAuthMiddleware>> =
       GoogleApi::from_function(
           FirestoreClient::new,
           "https://firestore.googleapis.com",
           // cloud resource prefix: used only for some of the APIs (such as Firestore)
           Some(cloud_resource_prefix.clone()),
       )
       .await?;

    let response = firestore_client
        .get()
        .list_documents(tonic::Request::new(ListDocumentsRequest {
            parent: format!("{}/documents", cloud_resource_prefix),
            ..Default::default()
        }))
        .await?;

REST example


let google_rest_client = gcloud_sdk::GoogleRestApi::new().await?;

let response = gcloud_sdk::google_rest_apis::storage::buckets_api::storage_buckets_list(
    &google_rest_client.create_google_storage_config().await?,
    gcloud_sdk::google_rest_apis::storage::buckets_api::StoragePeriodBucketsPeriodListParams {
        project: google_project_id,
        ..Default::default()
    }
).await?;

Complete examples available on github.

Modules

Structs

Enums

Constants

Statics

Traits

Functions

Type Aliases